package model

import (
	"time"
)

// ArticleTag 文章标签关联模型
// 对应数据库表: article_tags
// 这是 Article 和 Tag 的多对多关联中间表
type ArticleTag struct {
	// ==================== 主键 ====================
	ID int64 `gorm:"primaryKey;autoIncrement" json:"id"`

	// ==================== 关联字段 ====================
	// ArticleID 文章ID (外键)
	ArticleID int64 `gorm:"not null;uniqueIndex:uk_article_tag,priority:1;column:article_id" json:"article_id"`

	// TagID 标签ID (外键)
	TagID int64 `gorm:"not null;uniqueIndex:uk_article_tag,priority:2;column:tag_id" json:"tag_id"`

	// ==================== 时间戳 ====================
	CreatedAt time.Time `gorm:"autoCreateTime" json:"created_at"`
}

// TableName 指定表名
func (ArticleTag) TableName() string {
	return "article_tags"
}
